package Smallchangesys;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class SmallChangeSysOOP {
    boolean loop = true;
    Scanner scanner = new Scanner(System .in);
    String key = " " ;
    String details = "==========零钱通明细==========\n";
    double money = 0;
    double balance = 0;
    Date data = null;
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy-MM-dd hh-mm");
    String note = " ";
    public void mainMenu(){
        do{
            System.out.println("\n==========零钱通菜单OOP==========");
            System.out.println("\t\t\t1.零钱通明细");
            System.out.println("\t\t\t2.收益入账");
            System.out.println("\t\t\t3.消     费");
            System.out.println("\t\t\t4.退     出");
            System.out.print("请选择(1-4)");
            key = scanner.next();
            switch (key) {
                case "1":
                    this.details();
                    break;
                case "2":
                    this.income();
                    break;
                case "3":
                    this.pay();
                    break;
                case "4":
                    this.exit();
                    break;
                default:
                    System.out.println("选择有误，请重新选择");
            }
        }while (loop);
    }
    public void details(){
        System.out.println(details);
    }
    public void income(){
        System.out.println("2.收益入账");
        money = scanner.nextDouble();
        if (money <= 0){
            System.out.println("收益入账金额要大于0");
            return;
        }
        balance += money;
        data = new Date();
        details += "\n收益入账：\t" + "+" + money + "\t" +
                simpleDateFormat.format(data) + "\t" + balance;
    }
    public void pay(){
        System.out.print("3.消费金额：");
        money = scanner.nextDouble();
        if(money > balance || money <= 0){
            System.out.println("消费金额应在账户余额范围内！");
            return;
        }
        System.out.print("消费说明：");
        note = scanner.next();
        balance -= money;
        data = new Date();
        details += "\n" + "消费记录：" + "\t" + note + "\t" + "-" + money + "\t" +
                simpleDateFormat.format(data) + "\t" + balance;
    }
    public void exit(){
        String choice = " ";
        while (true) {
            System.out.println("确定退出?y/n");
            choice = scanner.next();
            if ("y".equals(choice)) {
                loop = false;
                break;
            } else if ("n".equals(choice)){
                break;
            }
        }
        System.out.println("======退出零钱通=====");
    }
}
